package com.cskaoyan.javase.array._4exception._3question;

/**
 * @description: 长度为0的数组的经典用途
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

public class Demo2 {
    public static void main(String[] args) {
        int[] ints = get(10);
        for (int i = 0; i < ints.length; i++) {
            System.out.println(ints[i]);
        }
    }

    //需求: 方法根据传入参数的值可能输出一个结果,也可能是两个结果,还可能没有结果
    public static int[] get(int num) {
        //对于这种需要根据参数得出最终结果的方法,建议先把相关的结果声明出来,然后根据不同的参数赋值
        int[] result;
        //1.如果传入的数是大于0的,返回[1,2]
        if (num > 0) {
            result = new int[]{1, 2};
            //return result;
        }else if (num < 0){
            //2.如果传入的数是小于0的,返回[8]
            result = new int[]{8};
            //return result;
        }else {
            //3.如果传入的数是0,没有返回结果
            /**
             * 如何表示没有结果?
             * 1.长度为0的数组
             * 2.数组为null
             * 以上两种方式均可,但是建议优先选择长度为0的数组,因为一旦存在null数组,就有产生空指针异常的可能
             * (具体情况具体对待)
             */
            result = new int[]{};
            //return result;
        }
        return  result;
    }
}
